The present invention relates to a method of compressing data for transmission.
The Internet is a publicly accessible worldwide network which primarily uses the Transport Control Protocol and Internet Protocol (“TCP/IP”) to permit the exchange of information. The Internet supports several applications protocols including the Hypertext Transfer Protocol (“HTTP”) for facilitating the exchange of HTML/World Wide Web (“WWW”) content, File Transfer Protocol (“FTP”) for the exchange of data files, electronic mail exchange protocols, Telnet for remote computer access and Usenet for the collaborative sharing and distribution of information.
Several compression techniques have been used to reduce the time required to transfer files. Compression can occur at the file or the bit stream level. Applications, such as PKZP™, compress files on a computer. Modems use bit stream level compression techniques to optimize throughput. Microsoft's Windows NT™ servers include IIS that can provide static web files in the deflate format. Some web browsers (“browsers”) support the “deflate” format.
Traditionally, a workstation accesses a web page across the Internet by transmitting a request for the web page to a web server. The web server then processes the request and transmits the web page to the workstation. The web page is a file having hypertext markup language (“HTML”) codes. Once the workstation receives the web page, the workstation analyzes the HTML codes for references to associated files, such as graphic files, video files, audio files and other files. The workstation then sends a second request to the web server for the associated files. The web server then sends the associated files to the workstation. This network congestion management mechanism is called “HTTP slow start.”
Since the associated files are requested only after the initial web page file has been received and analyzed at the workstation, the speed of receiving the initial web page file is a controlling factor in the over all speed of viewing a web page. In order to utilize compression techniques as a speed enhancement, conventional systems require the web server to store separate pre-compressed web pages. Others also require the web server to send additional code to decode the web page.